Ana içeriğe geç

UFW ile Ubuntu Güvenlik Duvarı Kurulumu

Bu rehberde ne öğreneceksiniz?

Bu rehber, Ubuntu sunucunuzda UFW kullanarak güvenlik duvarı kurmayı, SSH erişimini güvenli şekilde açmayı, port/IP yönetimi yapmayı ve sunucuyu en az ayrıcalık prensibine göre korumayı öğretir.


1. UFW Nedir?

UFW (Uncomplicated Firewall), iptables'ın karmaşık yapılarını basit komutlarla yönetmenizi sağlar. Ubuntu'nun varsayılan güvenlik duvarı aracıdır.


2. UFW Kurulumu ve Yapılandırma

Adım 1 — IPv6’nın Açık Olduğunu Kontrol Et


sudo nano /etc/default/ufw

Açıklama: UFW'nin IPv4 ve IPv6 için eşit şekilde kural uygulaması için bu dosyayı düzenleriz.

Kontrol edilmesi gereken satır:


IPV6=yes

Açıklama: Eğer "no" ise IPv6 trafiği korunmaz → güvenlik açığı oluşur.

Adım 2 — Varsayılan Politikaları Belirleyin


sudo ufw default deny incoming

Açıklama: Sunucuya dışarıdan gelen tüm bağlantıları varsayılan olarak engeller. Bu en güvenli başlangıçtır.


sudo ufw default allow outgoing

Açıklama: Sunucunun dışarıya (örneğin güncelleme, API istekleri) bağlantı kurmasına izin verir.

Adım 3 — SSH Bağlantısına İzin Verin (Zorunlu)


sudo ufw allow ssh

Açıklama: SSH (port 22) bağlantısına izin vererek sunucudan kilitlenmenizi engeller.


sudo ufw allow 22

Açıklama: Servis ismi yerine direkt port belirlemenin eşdeğeridir.


sudo ufw limit ssh,

Açıklama: Bir IP kısa sürede çok fazla SSH denemesi yaparsa geçici olarak engellenir. Brute-force saldırılarına karşı korur.

Adım 4 — UFW’yi Etkinleştirin


sudo ufw show added

Açıklama: Firewall aktif olmadan önce hangi kuralların ekli olduğunu gösterir.


sudo ufw enable

Açıklama: Güvenlik duvarını aktif eder. Sistemde otomatik olarak her açılışta devreye girer.


sudo ufw status verbose

Açıklama: Aktif kuralları detaylı şekilde listeler.

Adım 5 — Diğer Gerekli Bağlantılara İzin Verin

HTTP (80):


sudo ufw allow http

Açıklama: Web sitenizin dışarıdan erişilebilmesini sağlar.

HTTPS (443):


sudo ufw allow https

Açıklama: SSL/TLS ile güvenli web trafiğine izin verir.

MySQL (3306):


sudo ufw allow 3306

Açıklama: Veritabanı bağlantılarını açar (genelde sadece belirli IP'ye açılması önerilir).

Belirli IP’den SSH izni:


sudo ufw allow from 203.0.113.10 to any port 22

Açıklama: SSH erişimini sadece bu IP’ye izin verecek şekilde sınırlar. En güvenli yöntemlerden biri.

Port aralığına izin verme:


sudo ufw allow 6000:6007/tcp

Açıklama: 6000–6007 arasındaki tüm TCP portlarını aynı anda açar.

Ağ arayüzüne özel kural:


sudo ufw allow in on eth0 to any port 80

Açıklama: HTTP trafiğini sadece belirtilen network interface üzerinden kabul eder.

Adım 6 — Bağlantıları Engelleyin

Belirli IP engelleme:


sudo ufw deny from 203.0.113.4

Açıklama: Bu IP adresinden gelen tüm bağlantıları tamamen reddeder.

SMTP çıkış engeli:


sudo ufw deny out 25

Açıklama: Sunucunun 25 numaralı port üzerinden dışarıya mail göndermesini engeller. Spam tetiklenmelerini önler.

Adım 7 — Kuralları Silme

Kural listesini numarayla göster:


sudo ufw status numbered

Açıklama: Her kuralı numaralı olarak listeler → silmeyi kolaylaştırır.

Numara ile silme:


sudo ufw delete 2

Açıklama: Listedeki 2 numaralı kuralı kaldırır.

İsimle silme:


sudo ufw delete allow http

Açıklama: HTTP izin kuralını (IPv4 + IPv6 birlikte) siler.

Adım 8 — UFW Durumunu Kontrol Etme


sudo ufw status verbose

Açıklama: UFW’nin aktif olup olmadığını ve tüm kuralları detaylı gösterir.

Adım 9 — Güvenlik Duvarını Devre Dışı Bırakma / Resetleme

UFW'yi kapatma:


sudo ufw disable

Açıklama: Güvenlik duvarını tamamen durdurur. Kurallar pasif hâle gelir.

Sıfırlama:


sudo ufw reset

Açıklama: Tüm kuralları siler ve UFW’yi ilk günkü hâline döndürür.


3. Güvenlik İçin En İyi Uygulamalar

1. En Az Ayrıcalık İlkesini Uygulayın

Sadece gerektiği kadar port açın.


sudo ufw allow 80
sudo ufw allow 443

Açıklama: Web sunucusu için gereken 2 temel portu açar.

2. Logları Açın ve İzleyin


sudo ufw logging on

Açıklama: UFW’nin engellediği ve izin verdiği trafiği kaydetmesini sağlar.

Log dosyası:


/var/log/ufw.log

3. Fail2Ban Kullanarak Otomatik Saldırı Engelleme

Fail2Ban, şüpheli IP'leri otomatik olarak UFW üzerinden engeller. SSH brute-force saldırılarına karşı çok güçlü bir koruma sağlar.

4. IPv6 Kurallarını Kontrol Edin


sudo grep IPV6 /etc/default/ufw

Açıklama: UFW’nin IPv6 için kuralları aktif olarak yazıp yazmadığını kontrol eder.


4. SSS – Sıkça Sorulan Sorular

1. UFW iptables'tan daha mı iyi?

Kullanımı çok daha kolaydır; iptables’ın karmaşıklığını gizler.

2. Site açılmıyorsa neden olabilir?

HTTP (80) veya HTTPS (443) portu açılmamıştır.

3. SSH portunu değiştirdiysem?

Örnek:


sudo ufw allow 2222/tcp

4. Kuralları uygulamadan önce test edebilir miyim?


sudo ufw --dry-run enable
  1. UFW hangi protokolleri destekler?

TCP, UDP ve belirtilmediğinde her iki protokol.


Sonuç

Bu rehber ile Ubuntu sunucunuzda UFW’yi güvenli, doğru ve kontrollü şekilde yapılandırabilir; port ve IP yönetimini bilinçli şekilde yapabilirsiniz. Doğru yapılandırılmış bir UFW, sunucuyu gereksiz trafiğe karşı ciddi ölçüde güçlendirir.